1. Technical Field
This disclosure generally relates to computer systems, and more specifically relates to autonomic customization of a virtual appliance by retrieving customization values from various providers to customize the virtual appliance in order to simplify deployment.
2. Background Art
A virtual machine (VM) is a software implementation of a computer that executes software programs like a physical machine. A single physical machine may host one or more virtual machines. Virtual machines allow a physical machine to run multiple operating systems. A virtual appliance is a prebuilt software solution containing virtual machines and software applications that are integrated, managed, and updated as a package. Virtual appliances simplify the development and distribution of software applications, and shorten implementation time. A virtual appliance may be described using Open Virtualization Format (OVF). OVF is a developing platform-independent standard from the Distributed Management Task Force (DMTF) to describe virtual machine metadata and create portable virtual-machine packages.
Deployment of a virtual machine requires that the virtual machine be customized for the specific platform and hardware. The customization includes information such as: minimum, desired, and max memory and CPUs, storage information (amount, location, pools), and network information (DNS server, IP addresses of VMs, hostnames, gateway). The problem with deploying virtual machines is that the customization information can be very technical, and an end user, that is the person who will ultimately use the VMs, may not necessarily have the specialized knowledge of all the low level details required, especially considering that they vary by virtualization platform. Thus deploying a VM requires significant manual intervention by administrators with specialized knowledge.